1. Field of the Invention
This application relates generally to routing data within a communication network system, and more particularly to managing delivery of frames within a Fibre Channel communication network system during topology changes.
2. Background of the Invention
Continuous advances in technology, particularly in networks such as the Internet, have caused an increasing demand for communication bandwidth. Applications such as transmission of images or video over the Internet and videoconferencing implemented over public telephone networks typically require the high-speed transmission of large amounts of data. Such applications create a need for data centers to be able to quickly provide their servers with large amounts of data from data storage. As such data transfer needs become more prevalent, efficient data storage and management are becoming increasingly important. This data dependence has greatly increased the number of input and output transactions (I/Os) required of computer storage systems and servers.
Fibre Channel is a protocol suite that is well suited to meet this increasing demand. The Fibre Channel family of standards adopted by the American National Standards Institute (ANSI) is one example of a standard which defines a high-speed communication interface for the transfer of large amounts of data via connections between a variety of hardware devices. Such devices may include personal computers, workstations, mainframes, supercomputers, and storage devices. Use of Fibre Channel is proliferating in many applications, particularly those demanding high bandwidth and low latency I/O. Examples of such applications include mass storage, medical and scientific imaging, multimedia communications, transaction processing, distributed computing and distributed database processing applications.
To meet the high performance need, Fibre Channel was designed to incur the minimum amount of host overhead. Understanding that storage requirements are fundamentally different than client/server internetworking requirements, the architects of Fibre Channel built the intelligence and reliability into the hardware instead of leaving it to the software. By managing many concurrent I/O transactions entirely at the hardware level, the processing overhead required to send and receive data is dramatically reduced. Whereas a transport-layer routing protocol such as transmission control protocol (TCP) may take from 50 to 100 percent of a CPU to process, the same data rate via Fibre Channel requires less than 5 percent CPU overhead.
In one aspect of Fibre Channel, the communications between devices is based on the use of a fabric. The fabric is typically constructed from one or more Fibre Channel switches. Each device (or group of devices, for example, in the case of an arbitrated loop) is coupled to the fabric and can communicate with every other device coupled to the fabric.
Fibre Channel devices, such as protocol chips used in host adapters and in storage arrays, require in-order delivery of frames to maintain the cardinality of associated functions. Although frame routing techniques provided with the Fibre Channel standard guarantee that all frames between source and destination ports are delivered in-order internal to the fabric in the absence of topology changes, routing control becomes less straightforward when topology changes take place.
When a topology change occurs, the Fibre Channel network can detect the condition and find a new path, if one is available, typically in less than one second. However, during the process of switching to a new route, frames may be delivered out of order. This may happen because old frames can be enqueued on a congested link in some intermediate switch, so frames subsequently transmitted on the new, non-congested path will reach the destination first.
One popular path selection protocol, called Fabric Shortest Path First (FSPF), identifies the shortest path available to a stream of frames and assign the frames to this shortest path. The method starts running automatically at boot time and requires no configuration. Under FSPF, all the routes are established at boot time and will not change unless there is a topology change, such as a failure, or new links coming on-line that provide an equal or better path to some destinations. When a topology change occurs, FSPF reestablishes all routes affected by the change. However, FSPF does not guarantee that the frames be delivered in order when the adjustment is made. Nevertheless, FSPF does provide an abundance of information which may be used to ensure in-order delivery of frames during the topology change.
Accordingly, what is needed is a method and system to guarantee in-order delivery of frames in Fibre Channel communication networks during topology change. It is also desirable to take advantage of the information readily produced by the Fibre Channel routing protocol, such as FSPF, to optimize and further refine the method and system.